“Infrastructure as a service” (IaaS) cloud computing paradigm has changed the way information technology (IT) services are managed and delivered to the end consumer. In such a cloud environment, the cloud-service provider exposes application programming interfaces (APIs) and an end user makes use of these APIs to request for virtual server resources. The virtual servers are always provisioned with a specific operating system and in many situations even with a complete application stack over the operating system. Access to the virtual machine is usually enabled via secure shell (SSH) or X-Windows™ like interface, not a console. Existing remote management consoles are not designed to operate in a cloud kind of environment.
It has been often observed in the cloud environments that virtual servers become inaccessible because of various system level problems, namely kernel incompatibility, wrong boot-sequence such as incorrect startup sequence of system services, bad system or application configuration, etc. This renders the end user completely helpless as the user can neither determine the problem nor can fix it. This makes cloud-environments unsuitable for system development and testing purposes. In addition, it also makes the cloud service expensive and inefficient.
A known solution may attach a virtual network computing (VNC) port to the virtual machine and provide the remotely accessible address of the host machine to the end user. Another known solution may be to contact a system administrator to fix the problem for the user. Neither of the solutions is suitable for a cloud kind of environment because, e.g., the first discloses the host machine details to the end user, which process might make the host susceptible for hacking attacks. The second solution might be slow and expensive.